Skip to content

[velero] Update velero to v1.17.0#709

Merged
jenting merged 4 commits intovmware-tanzu:mainfrom
Kajot-dev:velero-1.17.0
Sep 24, 2025
Merged

[velero] Update velero to v1.17.0#709
jenting merged 4 commits intovmware-tanzu:mainfrom
Kajot-dev:velero-1.17.0

Conversation

@Kajot-dev
Copy link
Copy Markdown
Contributor

@Kajot-dev Kajot-dev commented Sep 18, 2025

Special notes for your reviewer:

Updated image and crds to velero 1.17.0

Checklist

  • DCO signed
  • Chart Version bumped, please refer to the chart version instruction
  • Variables are documented in the values.yaml or README.md
  • Title of the PR starts with chart name (e.g. [velero])

fixes #679

@rishabhp58
Copy link
Copy Markdown

just some info - i believe there were some additional breaking changes / deprecations that were introduced in v1.17.0 that removed some parameters.

Breaking changes notes:

Repository maintenance job configurations are removed from Velero server parameter
Since the repository maintenance job configurations are moved to repository maintenance job configMap, in v1.17 below Velero sever parameters are removed:
--keep-latest-maintenance-jobs
--maintenance-job-cpu-request
--maintenance-job-mem-request
--maintenance-job-cpu-limit
--maintenance-job-mem-limit

Deployment reference: https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/templates/deployment.yaml#L188-L203

Release: https://github.com/vmware-tanzu/velero/releases/tag/v1.17.0

@Kajot-dev
Copy link
Copy Markdown
Contributor Author

just some info - i believe there were some additional breaking changes / deprecations that were introduced in v1.17.0 that removed some parameters.

Breaking changes notes:

Repository maintenance job configurations are removed from Velero server parameter
Since the repository maintenance job configurations are moved to repository maintenance job configMap, in v1.17 below Velero sever parameters are removed:
--keep-latest-maintenance-jobs
--maintenance-job-cpu-request
--maintenance-job-mem-request
--maintenance-job-cpu-limit
--maintenance-job-mem-limit

Deployment reference: https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/templates/deployment.yaml#L188-L203

Release: https://github.com/vmware-tanzu/velero/releases/tag/v1.17.0

Fixed and added validations, I was looking at https://velero.io/docs/v1.17/upgrade-to-1.17/ instead... 😅

# cpu: 1000m
# memory: 1024Mi
# Number of latest maintenance jobs to keep for each repository
latestJobsCount: 3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this was set as default, shouldn't this be added as a default in the ConfigMap, as it stands in this default is simply now lost. Could be added here: https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/values.yaml#L550

Also all these parameters could be kept in the values and simply be used to manage the global repositoryConfigData

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add the default in the configmap.

As for supporting previous requests and limits fields this would require parsing and merging logic since global is as of now rendered as-is, so I'll wait for a maintainer to have a say about this, TBH I'm not convinced if it's worth it

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's good enough for me, with that change we keep the current default behavior of the chart

Signed-off-by: Jakub Jaruszewski <jjaruszewski@man.poznan.pl>

# Conflicts:
#	charts/velero/Chart.yaml
Signed-off-by: Jakub Jaruszewski <jjaruszewski@man.poznan.pl>
Signed-off-by: Jakub Jaruszewski <jjaruszewski@man.poznan.pl>
Signed-off-by: Jakub Jaruszewski <jjaruszewski@man.poznan.pl>
@Kajot-dev
Copy link
Copy Markdown
Contributor Author

Rebase ontop of main and also hardcoded the deployment name to velero (its required, otherwise repo maintenance jobs and restores do not work if fullname is not "velero")

If deployment is not velero, restores fail with:

level=error msg="Velero restore error: rpc error: code = Unknown desc = deployments.apps \"velero\" not found" 

fixes #679

@jenting jenting requested a review from Copilot September 20, 2025 01:22
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the Velero Helm chart from version 1.16.2 to 1.17.0, including image updates, CRD schema changes, and configuration modernization.

  • Updated Velero image tag from v1.16.2 to v1.17.0
  • Replaced deprecated repository maintenance job configuration with configmap-based approach
  • Updated CRDs with new fields and improved status reporting

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
charts/velero/Chart.yaml Bumped chart version to 11.0.0 and appVersion to 1.17.0
charts/velero/values.yaml Updated image tags and migrated repository maintenance configuration
charts/velero/templates/deployment.yaml Simplified deployment name and removed deprecated CLI arguments
charts/velero/templates/NOTES.txt Added validation checks for removed configuration options
charts/velero/crds/*.yaml Updated CRD schemas with new fields and improved status columns

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@vmware-tanzu vmware-tanzu deleted a comment from Copilot AI Sep 20, 2025
kind: Deployment
metadata:
name: {{ include "velero.fullname" . }}
name: velero
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am thinking if there is any better way to handle this or not.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, I don't think there is. See the current node-agent ds: https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/templates/node-agent-daemonset.yaml#L7

Also velero deployment is hardcoded through velero codebase itself:

Maintenance jobs and pod volume restores are dependent on it.

Of course if you wish I can revert this change, but if we allow creating any other deployment than velero, then we essentially allow shipping broken config. And in current iteration is not possible to have two instances of velero in the same cluster working (since either the deployment name is wrong if fullname is not velero or clusterroles overlap)

@jenting jenting merged commit ee1f0d5 into vmware-tanzu:main Sep 24, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Maintenance Jobs don't run if fullname != "velero"

6 participants